package com.literature.threeGroup.pojo;

import java.util.ArrayList;
import java.util.List;

public class CoverOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CoverOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(String value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(String value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(String value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(String value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(String value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(String value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLike(String value) {
            addCriterion("order_id like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotLike(String value) {
            addCriterion("order_id not like", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<String> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<String> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(String value1, String value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(String value1, String value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andCoverIdIsNull() {
            addCriterion("cover_id is null");
            return (Criteria) this;
        }

        public Criteria andCoverIdIsNotNull() {
            addCriterion("cover_id is not null");
            return (Criteria) this;
        }

        public Criteria andCoverIdEqualTo(String value) {
            addCriterion("cover_id =", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdNotEqualTo(String value) {
            addCriterion("cover_id <>", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdGreaterThan(String value) {
            addCriterion("cover_id >", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdGreaterThanOrEqualTo(String value) {
            addCriterion("cover_id >=", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdLessThan(String value) {
            addCriterion("cover_id <", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdLessThanOrEqualTo(String value) {
            addCriterion("cover_id <=", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdLike(String value) {
            addCriterion("cover_id like", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdNotLike(String value) {
            addCriterion("cover_id not like", value, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdIn(List<String> values) {
            addCriterion("cover_id in", values, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdNotIn(List<String> values) {
            addCriterion("cover_id not in", values, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdBetween(String value1, String value2) {
            addCriterion("cover_id between", value1, value2, "coverId");
            return (Criteria) this;
        }

        public Criteria andCoverIdNotBetween(String value1, String value2) {
            addCriterion("cover_id not between", value1, value2, "coverId");
            return (Criteria) this;
        }

        public Criteria andOrderYearIsNull() {
            addCriterion("order_year is null");
            return (Criteria) this;
        }

        public Criteria andOrderYearIsNotNull() {
            addCriterion("order_year is not null");
            return (Criteria) this;
        }

        public Criteria andOrderYearEqualTo(String value) {
            addCriterion("order_year =", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearNotEqualTo(String value) {
            addCriterion("order_year <>", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearGreaterThan(String value) {
            addCriterion("order_year >", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearGreaterThanOrEqualTo(String value) {
            addCriterion("order_year >=", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearLessThan(String value) {
            addCriterion("order_year <", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearLessThanOrEqualTo(String value) {
            addCriterion("order_year <=", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearLike(String value) {
            addCriterion("order_year like", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearNotLike(String value) {
            addCriterion("order_year not like", value, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearIn(List<String> values) {
            addCriterion("order_year in", values, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearNotIn(List<String> values) {
            addCriterion("order_year not in", values, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearBetween(String value1, String value2) {
            addCriterion("order_year between", value1, value2, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderYearNotBetween(String value1, String value2) {
            addCriterion("order_year not between", value1, value2, "orderYear");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNull() {
            addCriterion("order_type is null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNotNull() {
            addCriterion("order_type is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeEqualTo(String value) {
            addCriterion("order_type =", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotEqualTo(String value) {
            addCriterion("order_type <>", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThan(String value) {
            addCriterion("order_type >", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThanOrEqualTo(String value) {
            addCriterion("order_type >=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThan(String value) {
            addCriterion("order_type <", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThanOrEqualTo(String value) {
            addCriterion("order_type <=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLike(String value) {
            addCriterion("order_type like", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotLike(String value) {
            addCriterion("order_type not like", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIn(List<String> values) {
            addCriterion("order_type in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotIn(List<String> values) {
            addCriterion("order_type not in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeBetween(String value1, String value2) {
            addCriterion("order_type between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotBetween(String value1, String value2) {
            addCriterion("order_type not between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyIsNull() {
            addCriterion("aoge_money is null");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyIsNotNull() {
            addCriterion("aoge_money is not null");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyEqualTo(Double value) {
            addCriterion("aoge_money =", value, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyNotEqualTo(Double value) {
            addCriterion("aoge_money <>", value, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyGreaterThan(Double value) {
            addCriterion("aoge_money >", value, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("aoge_money >=", value, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyLessThan(Double value) {
            addCriterion("aoge_money <", value, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyLessThanOrEqualTo(Double value) {
            addCriterion("aoge_money <=", value, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyIn(List<Double> values) {
            addCriterion("aoge_money in", values, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyNotIn(List<Double> values) {
            addCriterion("aoge_money not in", values, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyBetween(Double value1, Double value2) {
            addCriterion("aoge_money between", value1, value2, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andAogeMoneyNotBetween(Double value1, Double value2) {
            addCriterion("aoge_money not between", value1, value2, "aogeMoney");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberIsNull() {
            addCriterion("order_cover_number is null");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberIsNotNull() {
            addCriterion("order_cover_number is not null");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberEqualTo(String value) {
            addCriterion("order_cover_number =", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberNotEqualTo(String value) {
            addCriterion("order_cover_number <>", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberGreaterThan(String value) {
            addCriterion("order_cover_number >", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberGreaterThanOrEqualTo(String value) {
            addCriterion("order_cover_number >=", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberLessThan(String value) {
            addCriterion("order_cover_number <", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberLessThanOrEqualTo(String value) {
            addCriterion("order_cover_number <=", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberLike(String value) {
            addCriterion("order_cover_number like", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberNotLike(String value) {
            addCriterion("order_cover_number not like", value, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberIn(List<String> values) {
            addCriterion("order_cover_number in", values, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberNotIn(List<String> values) {
            addCriterion("order_cover_number not in", values, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberBetween(String value1, String value2) {
            addCriterion("order_cover_number between", value1, value2, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andOrderCoverNumberNotBetween(String value1, String value2) {
            addCriterion("order_cover_number not between", value1, value2, "orderCoverNumber");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusIsNull() {
            addCriterion("contiuned_status is null");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusIsNotNull() {
            addCriterion("contiuned_status is not null");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusEqualTo(String value) {
            addCriterion("contiuned_status =", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusNotEqualTo(String value) {
            addCriterion("contiuned_status <>", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusGreaterThan(String value) {
            addCriterion("contiuned_status >", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusGreaterThanOrEqualTo(String value) {
            addCriterion("contiuned_status >=", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusLessThan(String value) {
            addCriterion("contiuned_status <", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusLessThanOrEqualTo(String value) {
            addCriterion("contiuned_status <=", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusLike(String value) {
            addCriterion("contiuned_status like", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusNotLike(String value) {
            addCriterion("contiuned_status not like", value, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusIn(List<String> values) {
            addCriterion("contiuned_status in", values, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusNotIn(List<String> values) {
            addCriterion("contiuned_status not in", values, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusBetween(String value1, String value2) {
            addCriterion("contiuned_status between", value1, value2, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andContiunedStatusNotBetween(String value1, String value2) {
            addCriterion("contiuned_status not between", value1, value2, "contiunedStatus");
            return (Criteria) this;
        }

        public Criteria andReviewTypeIsNull() {
            addCriterion("review_type is null");
            return (Criteria) this;
        }

        public Criteria andReviewTypeIsNotNull() {
            addCriterion("review_type is not null");
            return (Criteria) this;
        }

        public Criteria andReviewTypeEqualTo(String value) {
            addCriterion("review_type =", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotEqualTo(String value) {
            addCriterion("review_type <>", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeGreaterThan(String value) {
            addCriterion("review_type >", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeGreaterThanOrEqualTo(String value) {
            addCriterion("review_type >=", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeLessThan(String value) {
            addCriterion("review_type <", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeLessThanOrEqualTo(String value) {
            addCriterion("review_type <=", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeLike(String value) {
            addCriterion("review_type like", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotLike(String value) {
            addCriterion("review_type not like", value, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeIn(List<String> values) {
            addCriterion("review_type in", values, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotIn(List<String> values) {
            addCriterion("review_type not in", values, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeBetween(String value1, String value2) {
            addCriterion("review_type between", value1, value2, "reviewType");
            return (Criteria) this;
        }

        public Criteria andReviewTypeNotBetween(String value1, String value2) {
            addCriterion("review_type not between", value1, value2, "reviewType");
            return (Criteria) this;
        }

        public Criteria andOrganIdIsNull() {
            addCriterion("organ_id is null");
            return (Criteria) this;
        }

        public Criteria andOrganIdIsNotNull() {
            addCriterion("organ_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrganIdEqualTo(String value) {
            addCriterion("organ_id =", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdNotEqualTo(String value) {
            addCriterion("organ_id <>", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdGreaterThan(String value) {
            addCriterion("organ_id >", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdGreaterThanOrEqualTo(String value) {
            addCriterion("organ_id >=", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdLessThan(String value) {
            addCriterion("organ_id <", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdLessThanOrEqualTo(String value) {
            addCriterion("organ_id <=", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdLike(String value) {
            addCriterion("organ_id like", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdNotLike(String value) {
            addCriterion("organ_id not like", value, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdIn(List<String> values) {
            addCriterion("organ_id in", values, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdNotIn(List<String> values) {
            addCriterion("organ_id not in", values, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdBetween(String value1, String value2) {
            addCriterion("organ_id between", value1, value2, "organId");
            return (Criteria) this;
        }

        public Criteria andOrganIdNotBetween(String value1, String value2) {
            addCriterion("organ_id not between", value1, value2, "organId");
            return (Criteria) this;
        }

        public Criteria andOrderPayIsNull() {
            addCriterion("order_pay is null");
            return (Criteria) this;
        }

        public Criteria andOrderPayIsNotNull() {
            addCriterion("order_pay is not null");
            return (Criteria) this;
        }

        public Criteria andOrderPayEqualTo(Double value) {
            addCriterion("order_pay =", value, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayNotEqualTo(Double value) {
            addCriterion("order_pay <>", value, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayGreaterThan(Double value) {
            addCriterion("order_pay >", value, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayGreaterThanOrEqualTo(Double value) {
            addCriterion("order_pay >=", value, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayLessThan(Double value) {
            addCriterion("order_pay <", value, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayLessThanOrEqualTo(Double value) {
            addCriterion("order_pay <=", value, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayIn(List<Double> values) {
            addCriterion("order_pay in", values, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayNotIn(List<Double> values) {
            addCriterion("order_pay not in", values, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayBetween(Double value1, Double value2) {
            addCriterion("order_pay between", value1, value2, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOrderPayNotBetween(Double value1, Double value2) {
            addCriterion("order_pay not between", value1, value2, "orderPay");
            return (Criteria) this;
        }

        public Criteria andOcidIsNull() {
            addCriterion("ocid is null");
            return (Criteria) this;
        }

        public Criteria andOcidIsNotNull() {
            addCriterion("ocid is not null");
            return (Criteria) this;
        }

        public Criteria andOcidEqualTo(String value) {
            addCriterion("ocid =", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidNotEqualTo(String value) {
            addCriterion("ocid <>", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidGreaterThan(String value) {
            addCriterion("ocid >", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidGreaterThanOrEqualTo(String value) {
            addCriterion("ocid >=", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidLessThan(String value) {
            addCriterion("ocid <", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidLessThanOrEqualTo(String value) {
            addCriterion("ocid <=", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidLike(String value) {
            addCriterion("ocid like", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidNotLike(String value) {
            addCriterion("ocid not like", value, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidIn(List<String> values) {
            addCriterion("ocid in", values, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidNotIn(List<String> values) {
            addCriterion("ocid not in", values, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidBetween(String value1, String value2) {
            addCriterion("ocid between", value1, value2, "ocid");
            return (Criteria) this;
        }

        public Criteria andOcidNotBetween(String value1, String value2) {
            addCriterion("ocid not between", value1, value2, "ocid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}